iT邦幫忙

2023 iThome 鐵人賽

DAY 13
0
Mobile Development

好好用的 flutter 套件系列 第 13

好好用的 flutter 套件 - Day 13 package_info_plus

  • 分享至 

  • xImage
  •  

需求

app 在呼叫 api 時,api 會要求填一些欄位 app name 、package name、app version等資訊,
package_info_plus 就可以取得app的資訊

package_info_plus - Readme

可以透過PackageInfo查詢應用程式包的資訊。
PackageInfo packageInfo = await PackageInfo.fromPlatform();

String appName = packageInfo.appName;
String packageName = packageInfo.packageName;
String version = packageInfo.version;
String buildNumber = packageInfo.buildNumber;

package_info_plus - Install

直接在 pubspec.yaml 加上 package_info_plus: ^4.1.0 ,然後pub get 
dependencies:
  package_info_plus: ^4.1.0

https://ithelp.ithome.com.tw/upload/images/20230927/20121643v5p87fOhrQ.png

package_info_plus - Example

在 /lib/main.dart 加入 程式
import 'package:package_info_plus/package_info_plus.dart';

宣告變數和初始化

class _MyHomePageState extends State<MyHomePage> {
  PackageInfo _packageInfo = PackageInfo(
    appName: 'Unknown',
    packageName: 'Unknown',
    version: 'Unknown',
    buildNumber: 'Unknown',
    buildSignature: 'Unknown',
    installerStore: 'Unknown',
  );

  @override
  void initState() {
    super.initState();
    _initPackageInfo();
  }

  Future<void> _initPackageInfo() async {
    final info = await PackageInfo.fromPlatform();
    setState(() {
      _packageInfo = info;
    });
  }

  Widget _infoTile(String title, String subtitle) {
    return ListTile(
      title: Text(title),
      subtitle: Text(subtitle.isEmpty ? 'Not set' : subtitle),
    );
  }
    infoTile('App name', _packageInfo.appName),
    _infoTile('Package name', _packageInfo.packageName),
    _infoTile('App version', _packageInfo.version),
    _infoTile('Build number', _packageInfo.buildNumber),
    _infoTile('Build signature', _packageInfo.buildSignature),

執行結果

https://ithelp.ithome.com.tw/upload/images/20230927/20121643i8q4blHpt3.png

心得

是不是很簡單就可以用程式去讀取app 的資訊呀 !!

上一篇
好好用的 flutter 套件 - Day 12 intl
下一篇
好好用的 flutter 套件 - Day 14 device_info_plus
系列文
好好用的 flutter 套件30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言